home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
examples.arc
/
EXAMPL21.PRO
< prev
next >
Wrap
Text File
|
1986-10-07
|
733b
|
28 lines
/* Program 21 */
/*
This program display the compound object:
plus(mult(X,number(99)),mult(number(3),x))
as:
x*99+3*x
*/
domains
expr = number(integer) ; x ; log(expr) ;
plus(expr,expr) ; mult(expr,expr)
predicates
writeExp(expr)
goal
clearwindow,
writeExp(plus(mult(x,number(99)),mult(number(3),x))).
clauses
writeExp(x) :- write('x').
writeExp(number(No)) :- write(No).
writeExp(log(Expr)) :-
write("log("),writeExp(Expr),write(')').
writeExp(plus(U1,U2)):-
writeExp(U1), write('+'), writeExp(U2).
writeExp(mult(U1,U2)):-
writeExp(U1), write('*'), writeExp(U2).